package com.easylinkin.linkappapi.childhospital.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.childhospital.entity.*;
import com.easylinkin.linkappapi.childhospital.vo.DormitoryManage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easylinkin.linkappapi.childhospital.vo.DormitoryHistoryUserVo;
import com.easylinkin.linkappapi.childhospital.vo.DormitoryManageSelectVo;
import com.easylinkin.linkappapi.childhospital.vo.IDCardVo;
import site.morn.boot.rest.RestPage;

import java.util.List;
import java.util.Map;

public interface DormitoryManageService extends IService<DormitoryManageFloor> {


    /**
     * 宿舍管理列表查询
     *
     * @param dormitoryManage 分页参数对象
     * @return 宿舍管理列表查询
     */
    List<DormitoryManage> selectDormitoryManage(DormitoryManage dormitoryManage);


    void insertOrUpdateDormitoryManage(List<DormitoryManageFloor> dorFloorList);


    List<DormitoryManageBuilding> getDormitoryInfo(DormitoryManageSelectVo entity);

    List<DormitoryManageBuilding> getDormitoryDetail(DormitoryManageSelectVo entity);

    Map<String, Object> getDormitoryUserInfo(String roomId, String keywords);

    void insertDormitory(Map<String,Object> json);

    Page<DormitoryManageUser> getDormitoryUserHistory(RestPage<DormitoryHistoryUserVo> restPage);

    void dormitoryCheckOut(String userId);

    EmpUserBase realNameCheck(IDCardVo entity);

    Boolean checkIn(IDCardVo entity);

    void checkOut(String userId,String roomId);

    Map<String, Object> appCount(String floorId);

    List<DormitoryManageRoom> appFindRoomUserByFloorId(String floorId);
}
